import Book.BookShelf;
import User.AdminUser;
import User.NormalUser;
import User.User;

import javax.jws.soap.SOAPBinding;
import java.util.Scanner;

public class Main {
    public static User login(){
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name=scanner.nextLine();
        System.out.println("请输入你的身份：1.管理员用户     2.普通用户");
        int choice=scanner.nextInt();
        //如果输入1则返回管理员用户，输入2则返回普通用户，返回值向上转型为User
        if(choice==1){
            return new AdminUser(name);
        }else {
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        BookShelf bookShelf=new BookShelf();
        User user=login();
        while (true){
            int choice=user.menu();
        /*根据上述看调用哪个对象，哪个方法
        1.哪个对象,login返回值已经说明了调用哪个对象了
        2.哪个方法，确定当前对象包含哪些方法
            2.1在调用对应子类的对象时，构造函数会初始化好对应的操作
            2.2怎么具体调用
         */
            user.doIoperation(choice,bookShelf);
        }



    }
}
